package com.inventory.service;

import com.inventory.model.PurchaseRecord;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Optional;

public interface PurchaseRecordService {
    
    PurchaseRecord savePurchaseRecord(PurchaseRecord purchaseRecord);
    
    void deletePurchaseRecord(Long id);
    
    Optional<PurchaseRecord> findById(Long id);
    
    List<PurchaseRecord> findAllPurchaseRecords();
    
    List<PurchaseRecord> findByProductId(Long productId);
    
    List<PurchaseRecord> findByDateRange(LocalDateTime startDate, LocalDateTime endDate);
    
    Double getTotalPurchaseAmount(LocalDateTime startDate, LocalDateTime endDate);
    
    List<PurchaseRecord> findLatestPurchasesByProductId(Long productId);
} 